home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 12 / Mac Magazin and MacEasy Magazine CD - Issue 12.iso / Sharewarebibliothek / Anwendungen / Wissenschaft & Technik / Finder Marquee ƒ / Read Me < prev    next >
Text File  |  1995-07-10  |  2KB  |  40 lines

  1. Finder Marquee
  2. (“Rubber Band” Rects)
  3. By Jordan Zimmerman
  4. (c)1995 by Altura Software, Inc.
  5.     
  6. This code implements a "rubber band" marquee select rect with very smooth drawing in a manner similar to the Mac Finder.
  7.  
  8. Unlimited use is hereby granted without restriction.  However, the author would appreciate credit if possible.
  9.  
  10. Comments, questions, bugs, etc. should be sent to me:
  11.     jordanz@altura.com
  12.  
  13. * * *
  14.  
  15. History
  16.  
  17. The Mac System 7 Finder’s marquee selection rects draw in a very smooth manner that makes it appear as though offscreen bitmaps are used.  However, for the first time from this special TV offer, you too can do this at home for fun and profit.
  18.  
  19. The Problem
  20. The quick solution to marquee selection rects is a few lines of code ala:
  21.     
  22. void easy_marquee(Point pin_pt, Point new_pt, Rect* old_marquee_r_ptr)
  23. {
  24.     PenState    pen_state;
  25.     GetPenState(&pen_state);
  26.     PenMode(patXor);
  27.     PenPat(&qd.gray);
  28.  
  29.     FrameRect(old_marquee_r_ptr);
  30.     Pt2Rect(pin_pt, new_pt, old_marquee_r_ptr);
  31.     FrameRect(old_marquee_r_ptr);
  32. }    
  33.  
  34. While this is easy, it has the problem of a lot of flashing.  This is because there are areas in common between the old marquee rect and the new one.  In addition, using Pt2Rect causes the pin point to move around, which is bad.
  35.  
  36. The Solution
  37. The Finder Marquee code only draws the areas that need to be redrawn.  Your flashing days are over!  In addition, while supplies last, it correctly calculates the marquee rect instead of using Pt2Rect.
  38.  
  39. * * *
  40.